延續前一篇有關 ControlCom 的論文導讀,今天我們將實際測試這個模型的效果。根據論文的介紹,ControlCom 在圖像合成方面有著顯著的優勢,能讓使用者精確地控制合成圖像的細節。本文將使用官方提供的測試資料集 (GitHub) 來檢驗其效果,並確認是否能重現論文中的結果。
本次測試旨在評估 ControlCom 模型在前景與背景合成中的效果,特別關注模型的操控性和生成圖像的品質。
圖例說明:
背景 (Background): 圖片的背景部分。
背景遮罩 (Background Mask): 用於指示模型需處理的圖片範圍。
遮罩範圍文件 (Bounding Box Doc.): 文件範例如下:
p1, p2, p3, p4 後景遮罩檔名
250 30 504 497 000000330273_GT.png
前景 (Foreground): 需合成至背景的物件部分。
前景遮罩 (Foreground Mask): 對應前景的遮罩。
註:所有圖檔須為 512*512 像素的 PNG 格式,且 foreground_mask
及 background_mask
的圖片色階需為 "L" (灰階),foreground
及 background
則需為 "RGB" (彩階)。
記憶體擴增:為防止 GPU 記憶體不足,先確認 Colab 記憶體是否足夠。
from psutil import virtual_memory
ram_gb = virtual_memory().total / 1e9
print('Your runtime has {:.1f} gigabytes of available RAM\\n'.format(ram_gb))
if ram_gb < 20:
print('To enable a high-RAM runtime, select the Runtime > "Change runtime type"')
print('menu, and then select High-RAM in the Runtime shape dropdown. Then, ')
print('re-execute this cell.')
程式碼與數據準備:
方案一:使用官方範例,下載專案檔並存至 Colab 目錄。
%cd /content/ControlCom-Image-Composition
!git pull <https://github.com/winterdrive/ControlCom-Image-Composition.git>
方案二:使用自製資料:
安裝所需庫:
%cd /content/ControlCom-Image-Composition/
!pip install -r requirements.txt
%cd /content/ControlCom-Image-Composition/src/taming-transformers
!pip install -e .
模型載入:將 ControlCom 模型載入記憶體。
%cd /content/ControlCom-Image-Composition/checkpoints
!wget <https://huggingface.co/BCMIZB/Libcom_pretrained_models/resolve/main/ControlCom_blend_harm.pth>
!wget <https://huggingface.co/BCMIZB/Libcom_pretrained_models/resolve/main/ControlCom_view_comp.pth>
執行測試:使用測試資料集中的圖像輸入 ControlCom 模型,並設定不同的指示向量以控制前景的光照和姿態。
!python scripts/inference.py --task harmonization --outdir results --testdir examples --num_samples 1 --sample_steps 50 --gpu 0
官方測試資料:結果良好,輪廓還原程度高,但 NOKIA 標誌未能清晰再現。不過,考慮到人眼也難以辨識前景物件的文字,這個結果仍在合理範圍內。
自己準備的測試資料:輪廓還原同樣優異,但內部細節未能清楚再現。
根據測試結果,ControlCom 的確能在許多場景下有效地合成前景與背景,然而,該模型在前景細節的保持上仍有改進空間,尤其是當前景物件較為複雜時。未來進一步探索 ControlCom 模型的策略可以是新增特定訓練資料集並執行訓練,以便讓其學習更多圖像細節,並在運行後重現。另一方面,這樣的一體化模型,若整合到自動化圖像和影片編輯工具中,將得以簡化圖像和影片的後期製作流程,使 End-to-end 影像合成成為可能。